Word Ladder
Question
Given a set of valid words, determine the minimum number of single-character transformations it would take to transform from a starting word to an ending word.
If there is not a possible way to transform frome one word to another, then return 0.
Input: start = "cat", end = "dog", words = set(["cat", "cot", "hot", "dog", "dot"])
Output: 3
It would take a minimum of 3 single-character transformations to transform from "cat" to "dog": "cat" => "cot" => "dot" => "dog".
Input: start = "hot", end = "cog", words = set(["cog", "dot", "fog", "lot", "hot", "job"])
Output: 0
There is no way to transform from "hot" to "cog" one letter at a time based on the words available in word_set.
Input: start = "hot", end = "cog", words = set(["cod", "cog", "cot", "fog", "rod", "rot", "hot", "job"])
Output: 2
Though there are multiple ways to transform from "hot" to "cog", the most minimum steps required is 2 tranformations: "hot" => "cot" => "cog".
Clarify the problem
What are some questions you'd ask an interviewer?
Understand the problem
Login or signup to save your code.
Uh oh... looks like you don't yet have access.
Not sure what this unlocks? Check out a free pattern section.